Microcontrollers are utilized in increasing numbers to carry out a wide range of programmable operations. In some operations, perhaps especially those requiring minimum power consumption, it is desirable for the microcontroller to be able to change its own clock frequency. This is advantageous since reduced clock speed usually translates to lower power consumption. The clock can be increased in frequency when high computation power is required or when certain microcontroller circuitry must operate at a high speed, and the power can be reduced by reducing the clock speed at other times.
In order to effect a change in clock speed, a smooth speed transition should take place in order to avoid clock “glitches” that can result in processor malfunctions and even potentially lock up the circuitry. In addition, it is desirable that any circuitry provided for manipulation of the clock speed should be simple and occupy minimal die area in the finished microcontroller.